package com.sunday.common.core.utils;

import com.sunday.common.core.gson.GsonUtils;
import lombok.Builder;
import lombok.Data;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

@Builder
@Data
public class ReflectEntity implements Serializable {

    private long id;

    private String name;

    private Map<String, String> map;

    private List<Integer> list;

    private int[] arrBase;

    private String[] arrStr;

    private final int finalObj;

    /**
     * transient 是Java语言中的一个关键字，用于声明类的某个属性是临时的，不需要被序列化。
     * 通常，在对象序列化的过程中，对象的所有属性都会被自动序列化存储，以便于该对象可以被完整地保存到文件中或通过网络传输。
     */
    private transient int transientObj;

    private static int staticObj = 9;

    @Override
    public String toString() {
        return GsonUtils.DEFAULT.toJson(this);
    }

}
